/*!
 * \file UapEventGapMediaBearerSetupRej.h
 * \brief Event carrying message GapMediaBearerSetupReject
 */

#ifndef SGW_UAP_EVENT_GAP_MEDIA_BEARER_SETUP_REJ_H
#define SGW_UAP_EVENT_GAP_MEDIA_BEARER_SETUP_REJ_H

#include "EventData.h"
#include "UapGlobals.h"
#include "GAP.pb.h"

namespace tsc
{
namespace sgw
{

using GatewayApplicationPart::GapMediaBearerSetupReject;

/**
 * The event indicating MediaGateway rejected requests to setup
 * media bearer
 * It carries received GapMediaBearerSetupReject message
 */
class UapEventGapMediaBearerSetupRej : public common::EventData
{
public:

    UapEventGapMediaBearerSetupRej(GatewayApplicationPart::Cause cause) :
		EventData(UAP_GAP_MEDIA_BEARER_SETUP_REJ),
		mCause(cause)
	{

	}

	virtual ~UapEventGapMediaBearerSetupRej()
	{

	}

	GatewayApplicationPart::Cause getCause() const
    {
        return mCause;
    }



private:
	GatewayApplicationPart::Cause mCause;
};

} // namespace sgw
} // namespace tsc

#endif // SGW_UAP_EVENT_GAP_MEDIA_BEARER_SETUP_REJ_H
